<?php
    error_reporting(E_ALL ^ E_NOTICE);
    // Etapa I dos programas NA-WEB (comum a todos os metodos implementados) - Obter os dados do problema
    // As variaveis de controle na etapa I sao:
    // $exemplo - Define basicamente o metodo de entrada do programa, seus valores sao:
    //    sim (modulo de exemplos)
    //    nao (modulo de exercicios)
    //    algoritmo (exibir algoritmo do problema)
    // Enquanto a variavel $exemplo nao receber um valor (Tela inicial do programa),
    // nenhuma proxima etapa e chamada
    // $executar - Enquanto estiver definida com o valor nao, o metodo nao e executado.
    // Seu valor e modificado e mantido para sim somente aps definida a entrada de dados
    // $arquivo - No modulo de exercicios, esta variavel possui apenas o valor sim,
    // pois a entrada de dados e via arquivo. No modulo de exemplos, pode assumir os valores:
    //    sim (ent. dados via arquivo)
    //    nao (ent. dados via teclado)
    //    bancodados (ent. dados via biblioteca de problemas)
    //
     
    // include "funcoes.php"; // funcoes comuns aos programas
    cria_variaveis($_POST, $_GET, $_FILES);
    //caso $register_globals esteja desabilitado (depende da versao de PHP, ele cria as variaveis
    //contidas nos forumlarios html (get,post,file).
     
    // define_idioma($idioma);
     
    /* //caso queira habilitar a opcao de idioma em cada programa, individualmente
    echo basename($_SERVER["PHP_SELF"]); //retorna o nome do arquivo php
    echo "<form name=language>";
    echo "<select name=idioma size=1 onChange=retornapagina(this)>";
    echo "  <option value=#>".(G_MSG_01)."</option>";
    echo "  <option value=#>-----------------</option>";
    echo "  <option value=".(basename($_SERVER["PHP_SELF"]))."?idioma=PT_BR>Portugues</option>";
    echo "  <option value=".(basename($_SERVER["PHP_SELF"]))."?idioma=EN_US>English</option>";
    echo "</select>";
    echo "</form>";
    */
	if (!isset($Calcular) && isset($exemplo) && $exemplo == "material")
	{
		header("Location: upload.php?topico=sistemas");
	}
    echo "<title>".(GAUSS_MSG_01)."</title>";
    echo "<p class=titulo align=center><font face='Arial Black'>".(GAUSS_MSG_02)."</font></p>";
    echo "<p class=subtitulo align=center><font face='Arial Black'>".(GAUSS_MSG_03c)."</font></p>";
    echo "<p>";
    if (!isset($Calcular))
    {
        if ((!isset($exemplo)) && (!isset($executar)) && (!isset($algoritmo)))
            $exemplo = "sim";
        if ((!isset($exemplo)) && (!isset($executar)) && (!isset($algoritmo)))
            {
            //pagina inicial
            echo "<br>".(G_MSG_05)."<br>";
            echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
            //echo "<input type=hidden name=executar value=nao>";
            echo "<input type=radio name=exemplo value=sim unchecked>".(G_MSG_06)."<br>";
            //echo "<input type=radio name=exemplo value=nao unchecked>".(G_MSG_07)."<br>";
            //echo "<input type=radio name=exemplo value=algoritmo unchecked>".(G_MSG_19)."<br>";
            echo "<input type=radio name=exemplo value=material>".(Material_Teorico)."<br>";
            echo "<br>";
            echo "<input class=button type=submit name=Submit value=".(G_MSG_02).">";
             
        }
        else if ($exemplo == "algoritmo")
        {
            //exibe o algoritmo do problema
            echo "<br>".(G_MSG_20)."<br><br>";
            echo GAUSS_ALGORITMOc;
            echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
            echo "<input class=button type=submit name=Submit value=".(G_MSG_03).">";
            echo "</form>";
        }
        else if (($exemplo == "nao") && (!isset($arquivo)) )
        {
            //modulo de exercicios - tela inicial
            echo "<br>".(G_MSG_08)."<br>";
            echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
            echo "<input type=hidden name=exemplo value=nao>";
            echo "<input type=hidden name=executar value=nao>";
            echo "<a href=javascript:winopen('ajuda/modulo_exercicio.php?idioma=".($idioma)."')>".(G_MSG_26)."</a>";
            echo "<br><br>";
            echo "<input type=radio name=arquivo value=sim checked>".(G_MSG_09)."<br>";
            echo "<br>";
            echo "<input class=button type=submit name=Submit value=".(G_MSG_02).">";
            echo "</form>";
            echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
            echo "<input class=button type=submit name=Submit value=".(G_MSG_03).">";
            echo "</form>";
        }
        else if (($exemplo == "sim") && (!isset($arquivo)) )
        {
            //modulo de exemplos - tela inicial
            echo "<br>".(G_MSG_10)."<br>";
            echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
            echo "<input type=hidden name=exemplo value=sim>";
            echo "<input type=radio name=arquivo value=sim unchecked>".(G_MSG_09)."<br>";
            echo "<input type=radio name=arquivo value=bancodados unchecked>".(G_MSG_15)."<br>";
            echo "<input type=radio name=arquivo value=nao unchecked>".(G_MSG_11)."<br>";
            echo "<br>";
            echo "<input class=button type=submit name=Submit value=".(G_MSG_02).">";
            echo "</form>";
            echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
            echo "<input class=button type=submit name=Submit value=".(G_MSG_03).">";
            echo "</form>";
        }
        else if ((($exemplo == "sim") && ($arquivo == "sim")) | (($exemplo == "nao") && ($arquivo == "sim")) )
        {
            //leitura de dados via arquivo (modulo de exemplos e exercicios)
            echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
            echo "<br>".(G_MSG_12)."<br><br>".(G_MSG_13)."<br><br>";
            echo "<a href=javascript:winopen('ajuda/gauss.php')>".(G_MSG_25)."</a>";
            echo "<br><br>";
            echo "<input type=file name=dados>";
            echo "<input type=hidden name=executar value=sim>";
            echo "<br><br>";
            echo "<input type=hidden name=arquivo value=sim>";
            if ($exemplo == "nao")
            {
                // entrada de arquivo de respostas no modulo de exercicios
                echo "<input type=hidden name=correcao value=sim>";
                echo "".(G_MSG_14)."<br><br>";
                echo "<input type=file name=resposta>";
                echo "<br><br>";
            } // end if
            echo "<input class=button type=submit name=Submit value=".(G_MSG_02).">";
            echo "<p>";
            echo "</form>";
            echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
            echo "<input class=button type=submit name=Submit value=".(G_MSG_03).">";
            echo "</form>";
        }
        else if (($exemplo == "sim")and($arquivo == "bancodados"))
        {
            //leitura de dados via banco de dados - modulo de exemplos e exercicios
            include "exibe_prob_sela_gauss3_xml.php"; // exibe menu de exemplos contidos na biblioteca de exemplos em xml
        }
        // Final da Etapa I
        // Inicio da Etapa II - recolhe os dados via teclado ou exibe os dados extracaos do(s) arquivo(s) ou do banco de dados
        // A proxima etapa e executada no segundo arquivo do metodo, e e a execucao propriamente dita do problema
        else if (($executar == "sim")or($arquivo == "nao"))
        {
            if (($arquivo == "sim")or($arquivo == "bancodados"))
            {
                if ($arquivo == "bancodados") //se o arquivo for proveniente de um upload (entrada de dados via arquivo, nao e necessario definir a variavel $dados
                $dados = "".($dado).".txt";
                $fp = fopen($dados, "r");
                $vet_dados = file($dados);
                $dim = trim($vet_dados[0]);
                $cont = 0;
                for ($i = 0; $i < $dim; $i++)
                {
                    for ($j = 0; $j <= $dim; $j++)
                    {
                        $cont = $cont + 1;
                        $A[$i][$j] = trim($vet_dados[$cont]);
                    }
                }
                $marcador = $cont + 1;
                fclose($fp);
                if ($correcao == "sim")
                {
                    $fp = fopen($resposta, "r");
                    $vet_resposta = file($resposta);
                    $cont = -1;
                    for ($i = 0; $i < $dim; $i++)
                    {
                        $cont = $cont + 1;
                        $vet_resp[$i] = trim($vet_resposta[$cont]);
                    } // end for
                    fclose($fp);
                } // end ir correcao
            }
            if ((strlen($dim) == 0) | ($dim < 0))
            {
                echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
                echo GAUSS_MSG_04;
                echo "<input type=text size='2' maxlength='2' name=dim value=".($dim).">";
                echo "<br><br>";
                echo "<input type=hidden name=executar value=sim>";
                echo "<input class=button type=submit name=Submit value=".(G_MSG_02).">";
                echo "</form>";
                echo "<form action=index.php?opcao=gauss3 method=post>";
                echo "<input class=button type=submit name=Submit value=".(G_MSG_03).">";
                echo "</form>";
            }
            else
            {
                echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
                echo GAUSS_MSG_04;
                echo "<input type=text size='2' maxlength='2' name=dim value=".($dim).">";
                echo "<br><br>";
                echo "<p align=left><font face=Arial>".(GAUSS_MSG_05)."</font>";
                echo "<nobr>";
                for ($i = 0; $i < $dim; $i++)
                {
                    echo "<br><br>";
                    for ($j = 0; $j < $dim; $j++)
                    {
                        $aux = $j+1;
                        echo "<input type=text maxlength=10 size=5 name=A[".($i)."][".($j)."] value=".($A[$i][$j])."> X <sub> ".($aux)." </sub>";
                        if ($j < ($dim-1))
                        {
                            echo " + ";
                        } //end if
                    } //end for j
                    echo " = ";
                    echo "<input type=text maxlength=10 size=5 name=A[".($i)."][".($j)."] value=".($A[$i][$j]).">";
                } //end for i
                echo "</nobr>";
                if ($correcao == "sim")
                {
                    echo "<input type=hidden name=correcao value=sim>";
                    echo "<br> <b>".(GAUSS_MSG_06)."</b><br><br>";
                    echo "x = (";
                    for ($i = 0; $i < $dim; $i++)
                    {
                        echo $vet_resp[$i];
                        if ($i != $dim-1)
                        {
                            echo ",";
                        } // end if
                        echo "<input type=hidden name=vet_resp[".($i)."] maxlength=10 size=5 value=".($vet_resp[$i]).">";
                    } //end fori
                    echo ") <sup>T</sup>";
                } // end if
                echo "<p>";
                echo "<input class=button type=submit name=Calcular value=".(G_MSG_04).">";
                echo "<br>";
                if ($arquivo == "bancodados")
                {
                    // menu de navegacao de exemplos no modulo de banco de dados
                    echo "<p>";
                    echo "<input type=hidden name=dado value=".($dados).">";
                    echo "<input type=hidden name=arquivo value=".($arquivo).">";
                    define ("num_exemplos", 1); //Define o numero de exemplos disponiveis. Por enquanto deve ser atualizado manualmente
                    $ind = $marcador;
                    while ($vet_dados[$ind] != '')
                    {
                        // Disponibiliza na tela os dados adicionais do arquivo de exemplo (informacoes sobre o exmeplo)
                        echo $vet_dados[$ind];
                        echo "<br>";
                        $ind++;
                    } // end while
                    list($dir1, $dir2, $nome_arquivo) = explode("/", $dados);
                    list($nome_arquivo, $extensao) = explode(".", $nome_arquivo);
                    echo "<br>";
                    if ($nome_arquivo > 1)
                    {
                        echo "<a href=".(basename($_SERVER["PHP_SELF"]))."?exemplo=nao&executar=sim&arquivo=bancodados&dado=exemplos/".(basename($_SERVER["PHP_SELF"], ".php"))."/".($nome_arquivo-1)."&idioma=".($idioma).">".(G_MSG_21)."</a>";
                    } // end if
                    echo "&nbsp&nbsp&nbsp";
                    echo "<a href=".(basename($_SERVER["PHP_SELF"]))."?exemplo=sim&arquivo=bancodados&idioma=".($idioma).">".(G_MSG_22)."</a>";
                    echo "&nbsp&nbsp&nbsp";
                    if ($nome_arquivo < num_exemplos)
                    {
                        echo "<a href=".(basename($_SERVER["PHP_SELF"]))."?exemplo=nao&executar=sim&arquivo=bancodados&dado=exemplos/".(basename($_SERVER["PHP_SELF"], ".php"))."/".($nome_arquivo+1)."&idioma=".($idioma).">".(G_MSG_23)."</a>";
                    } // end if
                    echo "</p>";
                } // end if
                echo "</form>";
                echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss3.php>";
                echo "<input class=button type=submit name=Submit value=".(G_MSG_03).">";
                echo "</form>";
            } //end if
            echo "</body>";
        }
    }
    else
    {
        // armazena os dados do problema para serem resolvidos por outros metodos
        for ($i = 0; $i < $dim; $i++)
        {
            for ($j = 0; $j < $dim; $j++)
            {
                $Atemp[$i][$j] = $A[$i][$j];
            } //end for j
            $Atemp[$i][$j] = $A[$i][$j];
        } //end for i
        verificaBib($xml_file);
        echo "<br><b>".(GAUSS_MSG_04)."</b> $dim";
        // echo "<input type=text size='2' maxlength='2' name=dim value=".($dim).">";
        echo "<br>";
        echo "<p align=left><font face=Arial><b>".(GAUSS_MSG_05)."</b></font>";
        echo "<table border=\"0\">";
        for ($i = 0; $i < $dim; $i++)
        {
            echo "<tr>\n";
            for ($j = 0; $j < $dim; $j++)
            {
                $aux = $j+1;
                if ($j > 0)
                {
                    echo "<td valign=\"top\" align=\"center\" width=\"20\"> + </td>";
                } //end ifj
                echo "<td align=\"right\" valign=\"top\">".$A[$i][$j]."</td>";
                echo "<td align=\"right\" valign=\"top\">x<sub>".$aux."</sub></td>";
            } //end forj
            echo "<td valign=\"top\" align=\"center\" width=\"20\"> = </td>";
            echo "<td valign=\"top\" align=\"right\">".$A[$i][$dim]."</td>";
            echo "\n</tr>\n";
        } //end fori
        echo "</table>";
        echo "<!Matriz Equivalente>";
        echo "<p align=left><font face=Arial><b>".(GAUSS_MSG_07)."</b></font>";
        //echo "<nobr>";
        echo "<table border=\"0\">";
        for ($i = 0; $i < $dim; $i++)
        {
            //echo "<br>";
            echo "<tr>";
            for ($j = 0; $j <= $dim; $j++)
            {
                //echo "<input type=text name=A[".($i)."][".($j)."] value=".($A[$i][$j])." maxlength=10 size=5>";
                echo "<td valign=\"top\" align=\"center\" width=\"50\">".round($A[$i][$j], 4)."</td>";
            } //end for j
            echo "</tr>";
        } //end for i
        //echo "</nobr>";
        echo "</table>";
        /************************************************** triangularizacao ********************************************************************/
        function triang()
        {
            global $A, $dim;
            echo "<br><p align=left><font face=Arial><b>".(GAUSS_MSG_08)."</b></font>";
            for ($i = 0; $i < $dim; $i++)
            {
                for ($j = 0; $j <= $dim; $j++)
                {
                    $B[$i][$j] = $A[$i][$j];
                } //end for j
                //$B[$i][$j] = $A[$i][$j];
            } //end for i
            for ($k = 0; $k < $dim-1; $k++)
            {
                // troca de linha/ coluna
                //if ($A[$k][$k]==0) { // pivo se anula - Linha comentada em 31/07/2004 (Nao e necessario que o pivo se anule)
                $maior = abs($A[$k][$k]);
                $indice1 = $indice2 = $k;
                for ($cont1 = $k+1; $cont1 < $dim; $cont1++)
                {
                    for ($cont2 = $k+1; $cont2 < $dim; $cont2++)
                    {
                        if (abs($A[$cont1][$cont2]) > $maior)
                        {
                            $maior = abs($A[$cont1][$cont2]);
                            $indice1 = $cont1;
                            $indice2 = $cont2;
                        } // end if A
                    } // end for cont2
                } //end for cont1
                $troca = $indice1 + 1;
                for ($l = 0; $l <= $dim; $l++)
                {
                    //troca de linha
                    $aux2 = $A[$k][$l];
                    $A[$k][$l] = $A[$indice1][$l];
                    $A[$indice1][$l] = $aux2;
                } // end for l
                for ($l = 0; $l < $dim; $l++)
                {
                    //troca de coluna
                    $aux2 = $A[$l][$k];
                    $A[$l][$k] = $A[$l][$indice2];
                    $A[$l][$indice2] = $aux2;
                } // end for l
                // fim troca linha/coluna
                for ($i = $k+1; $i < $dim; $i++)
                {
                    $M[$i][$k] = -$A[$i][$k]/$A[$k][$k];
                    for ($j = 0; $j < $dim+1; $j++)
                    {
                        $A[$i][$j] += $M[$i][$k] * $A[$k][$j];
                    } //end forj
                } // end fori
                echo "<br>";
                $aux2 = $k+1;
                echo "<p align=left>".(GAUSS_MSG_11)."".($aux2);//."<nobr>";
                if ($k == $dim - 2) echo "<br><b>".(GAUSS_MSG_12)."</b>";
                echo "<table border=\"0\">";
                for ($i = 0; $i < $dim; $i++)
                {
                    $aux = $i+1;
                    //echo "<br>";
                    echo "<tr>";
                    for ($j = 0; $j <= $dim; $j++)
                    {
                        //echo "<input type=text maxlength=10 size=5 name=A[".($i)."][".($j)."] value=".($A[$i][$j])." >";
                        echo "<td valign=\"top\" align=\"center\" width=\"50\">".round($A[$i][$j], 4)."</td>";
                    } //end for j2
                    if ($i < $k+1) echo "<td>&nbsp;</td>";
                    //if ($i>=$k+1) {
                    else
                    {
                        echo "<!explicitacao das operacoes realizadas com as linhas da matriz na triangularizacao>";
                        echo "<td><font face=Arial>L<sub><font size=1> ".($aux)." </font></sub> = L<sub><font size=1> ".($aux)."";
                        echo "</font></sub> - a<sub><font size=1> ".($aux)."".($aux2)." </font></sub>/a<sub><font size=1> ".($aux2)."".($aux2)."";
                        echo "</font></sub> * L<sub><font size=1> ".($aux2)." </font></sub></font>";
                        if (($troca != "nao") and ($i == $k) )
                        {
                            echo "<font face=Arial>L<sub><font size=1>".($k+1)."</font></sub>".(GAUSS_MSG_17)."L<sub><font size=1>".($troca)."</font></sub>";
                            echo " e <font face=Arial>C<sub><font size=1>".($k+1)."</font></sub>".(GAUSS_MSG_17)."C<sub><font size=1>".($indice2 + 1)."</font></sub>";
                        } // end if troca
                        echo "</td>";
                    } //end if
                    echo "</tr>";
                } //end for i2
                echo "</table>";
            } // end fork
            echo "</nobr><br>";
            //echo "<b>".(GAUSS_MSG_12)."</b>";
            echo "<br><br>";
            echo "<p align=left><font face=Arial><b>".(GAUSS_MSG_13)."</b></font>";
            echo "<table border=\"0\">";
            for ($i = 0; $i < $dim; $i++)
            {
                echo "<tr>\n";
                for ($j = 0; $j < $dim; $j++)
                {
                    $aux = $j+1;
                    if ($j > 0)
                    {
                        echo "<td valign=\"top\" align=\"center\" width=\"20\"> + </td>";
                    } //end ifj
                    echo "<td align=\"right\" valign=\"top\">".round($A[$i][$j], 4)."</td>";
                    echo "<td align=\"right\" valign=\"top\">x<sub>".$aux."</sub></td>";
                } //end forj
                echo "<td valign=\"top\" align=\"center\" width=\"20\"> = </td>";
                echo "<td valign=\"top\" align=\"right\">".round($A[$i][$dim], 4)."</td>";
                echo "\n</tr>\n";
            } //end fori
            echo "</table>";
            return "nao";
        } //end triang
        /******************************************************** retrosubstituicao *************************************************************/
        function retrosubs($B)
        {
             
            global $dim, $VetX, $exibir_resultado;
             
            for ($k = $dim-1; $k >= 0; $k--)
            {
                $VetX[$k] = $B[$k][$dim];
                for ($i = $k+1; $i < $dim; $i++)
                {
                    //linha 240
                    $VetX[$k] -= $B[$k][$i] * $VetX[$i];
                } // end for
                if ($B[$k][$k] == 0)
                {
                    // pivo se anulou
                    if ($VetX[$k] == 0)
                    {
                        // infinitas solucoes (0 x = 0)
                        echo GAUSS_MSG_19;
                        $VetX[$k] = 1;
                    }
                    else
                    {
                        // nao possui solucao (0 x = a)
                        echo GAUSS_MSG_20;
                        $exibir_resultado = "nao";
                        break;
                    }
                }
                else
                {
                    // possui nica solucao
                    $VetX[$k] /= $B[$k][$k];
                }
            } // end for1
             
            if ($exibir_resultado != "nao")
            {
                /***explicitacao das operacoes da retrosubstituicao***/
                echo "<p align=left><font face=Arial><b>".(GAUSS_MSG_14)."</b></font>";
                echo "<br><nobr>";
                echo "".($B[$dim-1][$dim-1])." x <sub> ".($dim)." </sub> = ".($B[$dim-1][$dim])."";
                if ($B[$dim-1][$dim-1] == 0 )
                {
                    if ($B[$dim-1][$dim] == 0 )
                    {
                        //sistema tem infinitas solucoes
                        echo "&nbsp <font face=Arial><b> => </b></font>&nbsp x <sub> ".($dim)." </sub> = ".($VetX[$dim-1])."";
                        $VetX[$dim-1] = 1;
                    }
                }
                else
                {
                    echo "&nbsp <font face=Arial><b> => </b></font>&nbsp x <sub> ".($dim)." </sub> = ".($B[$dim-1][$dim]/$B[$dim-1][$dim-1])."";
                }
                echo "<br>";
                for ($k = $dim-2; $k >= 0; $k--)
                {
                    echo "".($B[$k][$k])." x <sub> ".($k+1)."</sub>";
                    for ($i = $k+1; $i < $dim; $i++)
                    {
                        $aux = $B[$k][$i] * $VetX[$i];
                        if ($i > 0)
                        {
                            if ($aux > 0)
                            {
                                echo (" + ");
                            } //end ifaux
                        } //end ifi
                        if ($aux != 0)
                        {
                            echo $aux;
                        } //end if
                    } //end fori
                    echo (" = ");
                    echo $B[$k][$dim];
                    echo "&nbsp <font face=Arial><b> => </b></font>&nbsp x <sub>";
                    echo "".($k+1)." </sub> = ".($VetX[$k])."<br>";
                } //end fork
                echo "</nobr>";
            }
            // end if exibir_resultado
        } // end retrosub
        /****************************************************************************************************************************************/
        $parar = triang();
        if (isset($parar) && $parar != "sim")
        {
            retrosubs($A);
            if ($exibir_resultado != "nao")
            {
                echo "<p align=left><font face=Arial><b>".(GAUSS_MSG_15)."</b></font>";
                echo "<br>";
                echo "x = (";
                for ($i = 0; $i < $dim; $i++)
                {
                    echo $VetX[$i];
                    if ($i != $dim-1)
                    {
                        echo ",";
                    }
                    echo "<input type=hidden name=VetX[".($i)."] maxlength=10 size=5 value=".($VetX[$i]).">";
                } //end fori
                echo ") <sup>T</sup>";
                echo "<p>";
                for ($i = 0; $i < $dim; $i++)
                $T[$i] = $Atemp[$i][$dim];
                seqlsol($Atemp, $VetX, $dim, $T);
            }
            // end if exibir_resultado
            if (isset($arquivo) && $arquivo == "bancodados")
            {
                // menu de navegacao de exemplos no modulo de banco de dados
                echo "<p>";
                define ("num_exemplos", 1); //Define o numero de exemplos disponiveis. Por enquanto deve ser atualizado manualmente
                $ind = $marcador;
                while ($vet_dados[$ind] != '')
                {
                    // Disponibiliza na tela os dados adicionais do arquivo de exemplo (informacoes sobre o exmeplo)
                    echo $vet_dados[$ind];
                    echo "<br>";
                    $ind++;
                } // end while
                list($dir1, $dir2, $nome_arquivo) = explode("/", $dado);
                list($nome_arquivo, $extensao) = explode(".", $nome_arquivo);
                echo "<br>";
                if ($nome_arquivo > 1)
                {
                    echo "<a href=".(basename($_SERVER["PHP_SELF"], "3a.php"))."3.php?exemplo=nao&executar=sim&arquivo=bancodados&dado=exemplos/".(basename($_SERVER["PHP_SELF"], "3a.php"))."3/".($nome_arquivo-1)."&idioma=".($idioma).">".(G_MSG_21)."</a>";
                } // end if
                echo "&nbsp&nbsp&nbsp";
                echo "<a href=".(basename($_SERVER["PHP_SELF"], "3a.php"))."3.php?exemplo=sim&arquivo=bancodados&idioma=".($idioma).">".(G_MSG_22)."</a>";
                echo "&nbsp&nbsp&nbsp";
                if ($nome_arquivo < num_exemplos)
                {
                    echo "<a href=".(basename($_SERVER["PHP_SELF"], "3a.php"))."3.php?exemplo=nao&executar=sim&arquivo=bancodados&dado=exemplos/".(basename($_SERVER["PHP_SELF"], "3a.php"))."3/".($nome_arquivo+1)."&idioma=".($idioma).">".(G_MSG_23)."</a>";
                } // end if
                echo "</p>";
            } // end if
        } // end if parar
        if (isset($_POST["navegacao"]) && $_POST["navegacao"] == "sim")
            {
            echo "<form name=\"exemplos\" enctype=\"multipart/form-data\" method=\"post\">";
            echo "<script language=\"javascript\" type=\"text/javascript\">\n";
            echo "function criarLinks(value) {\n";
            echo "document.exemplos.indice.value = value;\n";
            echo "document.exemplos.action = 'index.php?inc=exibe_prob_sela_gauss3_xml.php'\n";
            echo "document.exemplos.submit();\n";
            echo "}\n";
            echo "</script>";
            echo "<input type=\"hidden\" name=\"id_bib\" value=\"".$id_bib."\">";
            echo "<input type=\"hidden\" name=\"xml_file\" value=\"".$xml_file."\">";
            echo "<input type=\"hidden\" name=\"indice\">";
            echo "Outros exemplos<br>";
            $objeto = new DOMDocument();
            $objeto->load($xml_file);
            $filho = $objeto->getelementsbytagname("lin_systems");
            if ($filho->length > 0)
                {
                $temp = $filho->item(0)->getelementsbytagname("system");
                $j = 0;
                for($i = 0; $i < $temp->length; $i++)
                {
                    $method = $temp->item($i)->getelementsbytagname("method");
                    $conteudo = $method->item(0)->nodeValue;
                    $dime = $temp->item($i)->getelementsbytagname("dim");
                    $dime = $dime->item(0)->nodeValue;
                    if ($conteudo == 'direct')
                        {
                        if ($j != 0) echo " | ";
                        if ($j == $indice) echo "<b>";
                        echo "<a href=\"javascript:criarLinks($j)\" title=\"Dimens&atilde;o $dime\"><u>".($j+1)."</u></a>";
                        if ($j == $indice) echo "</b>";
                        $j++;
                    }
                }
            }
            echo "</form>";
        }
        echo "<p>";
        echo G_PROXIMO_EXEMPLO;
        echo "</p>";
         
        echo "<form method=post enctype=multipart/form-data action=index.php?inc=cholesky.php>";
        if (isset($_POST["navegacao"]) && $_POST["navegacao"] == "sim")
            {
            echo "<input type=\"hidden\" name=\"xml_file\" value=\"".$xml_file."\">";
            echo "<input type=hidden name=navegacao value=sim>";
            echo "<input type=hidden name=indice value=$indice>";
        }
        echo "<input type=hidden name=dim value=".($dim).">";
        for ($i = 0; $i < $dim; $i++)
        {
            for ($j = 0; $j < $dim; $j++)
            {
                echo "<input type=hidden name=A[".($i)."][".($j)."] value=".($Atemp[$i][$j]).">";
            } //end for j
            echo "<input type=hidden name=T[".($i)."] value=".($Atemp[$i][$j]).">";
        } //end for i
        if (isset($correcao) && $correcao == "sim")
        {
            echo "<input type=hidden name=correcao value=sim>";
            for ($i = 0; $i < $dim; $i++)
            {
                echo "<input type=hidden name=vet_resp[".($i)."] value=".($vet_resp[$i]).">";
            } //end fori
        } // end if
        echo "<input class=button type=submit name=Calcular value='".(CHOLESKY_MSG_03)."'>";
        echo "</form>";
         
         
        echo "<form method=post enctype=multipart/form-data action=index.php?inc=ludecomp.php>";
        if (isset($_POST["navegacao"]) && $_POST["navegacao"] == "sim")
            {
            echo "<input type=\"hidden\" name=\"xml_file\" value=\"".$xml_file."\">";
            echo "<input type=hidden name=navegacao value=sim>";
            echo "<input type=hidden name=indice value=$indice>";
        }
        echo "<input type=hidden name=dim value=".($dim).">";
        for ($i = 0; $i < $dim; $i++)
        {
            for ($j = 0; $j < $dim; $j++)
            {
                echo "<input type=hidden name=A[".($i)."][".($j)."] value=".($Atemp[$i][$j]).">";
            } //end for j
            echo "<input type=hidden name=T[".($i)."] value=".($Atemp[$i][$j]).">";
        } //end for i
        if (isset($correcao) && $correcao == "sim")
        {
            echo "<input type=hidden name=correcao value=sim>";
            for ($i = 0; $i < $dim; $i++)
            {
                echo "<input type=hidden name=vet_resp[".($i)."]  value=".($vet_resp[$i]).">";
            } //end fori
        } // end if
        echo "<input class=button type=submit name=Calcular value='".(LUDECOMP_MSG_03)."'>";
        echo "</form>";
         
         
        echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss1.php>";
        if (isset($_POST["navegacao"]) && $_POST["navegacao"] == "sim")
            {
            echo "<input type=\"hidden\" name=\"xml_file\" value=\"".$xml_file."\">";
            echo "<input type=hidden name=navegacao value=sim>";
            echo "<input type=hidden name=indice value=$indice>";
        }
        echo "<input type=hidden name=dim value=".($dim).">";
        for ($i = 0; $i < $dim; $i++)
        {
            for ($j = 0; $j < $dim; $j++)
            {
                echo "<input type=hidden name=A[".($i)."][".($j)."] value=".($Atemp[$i][$j]).">";
            } //end for j
            echo "<input type=hidden name=A[".($i)."][".($j)."] value=".($Atemp[$i][$j]).">";
        } //end for i
        if (isset($correcao) && $correcao == "sim")
        {
            echo "<input type=hidden name=correcao value=sim>";
            for ($i = 0; $i < $dim; $i++)
            {
                echo "<input type=hidden name=vet_resp[".($i)."] value=".($vet_resp[$i]).">";
            } //end fori
        } // end if
        echo "<input class=button type=submit name=Calcular value='".(GAUSS_MSG_03a)."'>";
        echo "</form>";
         
        echo "<form method=post enctype=multipart/form-data action=index.php?inc=gauss2.php>";
        if (isset($_POST["navegacao"]) && $_POST["navegacao"] == "sim")
            {
            echo "<input type=\"hidden\" name=\"xml_file\" value=\"".$xml_file."\">";
            echo "<input type=hidden name=navegacao value=sim>";
            echo "<input type=hidden name=indice value=$indice>";
        }
        echo "<input type=hidden name=dim value=".($dim).">";
        for ($i = 0; $i < $dim; $i++)
        {
            for ($j = 0; $j < $dim; $j++)
            {
                echo "<input type=hidden name=A[".($i)."][".($j)."] value=".($Atemp[$i][$j]).">";
            } //end for j
            echo "<input type=hidden name=A[".($i)."][".($j)."] value=".($Atemp[$i][$j]).">";
        } //end for i
        if (isset($correcao) && $correcao == "sim")
        {
            echo "<input type=hidden name=correcao value=sim>";
            for ($i = 0; $i < $dim; $i++)
            {
                echo "<input type=hidden name=vet_resp[".($i)."] value=".($vet_resp[$i]).">";
            } //end fori
        } // end if
        echo "<input class=button type=submit name=Calcular value='".(GAUSS_MSG_03b)."'>";
        echo "</form>";
         
         
    }
?>

